Migrate test pipeline to Github - #544
Merged
Merged
Conversation
Manage the docs build environment with astral-sh/setup-uv and uv sync instead of pip-installing uv into a setup-python interpreter. Track uv.lock and install with --frozen so the documentation is built from pinned, reproducible dependency versions, with the uv cache reused across runs.
Run the test suite on GitHub Actions across Ubuntu, macOS, and Windows, driving pytest directly with uv (uv sync + uv run pytest) rather than tox. The pytest configuration in tox.ini [pytest] is reused as-is, so junit and coverage reports are still produced; test results are published with mikepenz/action-junit-report. The Azure Pipelines test job is left in place for now, until deployment is also migrated. Pin the Python version via a tracked .python-version file instead of hardcoding it, and update the docs workflow to rely on it as well.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
|
Publish to PyPI whenever main is updated (any push, not only PR merges), after the full cross-platform test suite passes. The test workflow is made reusable (workflow_call) and invoked as a dependency, so publishing only proceeds when every matrix leg succeeds. Follow current packaging best practices: build sdist and wheel with uv on a job with no publishing rights, then publish from a separate job using PyPI Trusted Publishing (OIDC) via a dedicated pypi environment, so no API token is stored. skip-existing avoids failures when main is pushed without a version bump. The Azure Pipelines deploy job is left in place for now.
PyPI publishing is now handled by the GitHub Actions publish workflow, so drop the Azure deploy job to avoid two systems publishing to PyPI on main. The Azure tox test job is kept for now.
Add a CodeCoverageSummary step that renders the Cobertura coverage.xml into the GitHub Actions job summary, so coverage is visible in the run without posting a PR comment. Run it only on the Linux matrix leg (Docker action; coverage is identical across platforms) and never fail the build on it.
Replace the irongut/CodeCoverageSummary Docker action with coverage.py's built-in markdown report piped to the Actions job summary. This drops a third-party dependency, stays in sync with the installed coverage version, and needs no Docker.
CI has fully migrated to GitHub Actions (tests, docs, and PyPI publishing), so drop azure-pipelines.yml and its dead build-status badge from the README.
Extract the [pytest] section from tox.ini into a dedicated pytest.ini at the repo root. It stays at the root (not tests/) so testpaths spanning tests/ and docs/ still resolve. tox continues to read this config for local runs.
Restructure installation and usage around uv (uv add, editable installs, branch dependencies), and move the test instructions to run via uv run --extra test pytest, matching the GitHub Actions CI. Group advanced usage and troubleshooting notes together.
networkx (pulled in via hyperopt) requires Python >=3.11, so 3.10 could not actually resolve the dependency set. Bump requires-python to >=3.11, drop the 3.10 classifier to match the README, and relock.
atomica imports networkx directly (framework and model validation, and the MCP server), so declare it explicitly rather than relying on it arriving transitively via hyperopt. The lazy imports in framework.py/model.py are kept so networkx is only loaded when validation runs.
Closed
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.